2a6f84b85237b25d0671354360022d532324969a,classify/src/main/java/com/anarchy/classify/simple/PrimitiveSimpleAdapter.java,SimpleMainAdapter,onLeaveSubRegion,#number#SimpleSubAdapter#,293

Before Change


        @Override
        public int onLeaveSubRegion(int selectedPosition, SimpleSubAdapter simpleSubAdapter) {
            int parentTargetPosition = PrimitiveSimpleAdapter.this.onLeaveSubRegion(simpleSubAdapter.getData(),selectedPosition);
            if(simpleSubAdapter.getItemCount()==1){
                if (simpleSubAdapter.getParentPosition() != -1) notifyItemRemoved(simpleSubAdapter.getParentPosition());
            }else{
                if (simpleSubAdapter.getParentPosition() != -1) notifyItemChanged(simpleSubAdapter.getParentPosition());}

After Change


            if(mSimpleHook != null){
                return mSimpleHook.onLeaveSubRegion(this,simpleSubAdapter.getParentPosition(),simpleSubAdapter.getData(),selectedPosition);
            }
            int originSize = simpleSubAdapter.getItemCount();//副层级数��动之�的大�
            int parentTargetPosition = PrimitiveSimpleAdapter.this.onLeaveSubRegion(simpleSubAdapter.getParentPosition(), simpleSubAdapter.getData(), selectedPosition);
            if (simpleSubAdapter.getParentPosition() != -1) {
                if (parentTargetPosition >= 0 && parentTargetPosition < getItemCount())
                    notifyItemInserted(parentTargetPosition);
                int offset = parentTargetPosition <= simpleSubAdapter.getParentPosition()?1:0;
                int newParentPosition = simpleSubAdapter.getParentPosition() + offset;
                if(originSize <= 1){
                    notifyItemRemoved(newParentPosition);
                }else {
                    notifyItemChanged(newParentPosition);